package com.wunong.smart.commission.domain.business;

import com.wunong.business.framework.annotation.BusinessExtPoints;
import com.wunong.business.framework.api.BusinessExt;
import com.wunong.smart.commission.application.context.CommissionContext;
import com.wunong.smart.commission.application.request.support.CommissionEntryRequest;
import com.wunong.smart.commission.application.request.support.CreateCommissionRequest;
import com.wunong.smart.domain.platform.common.VerifyDTO;

/**
 * 创建代办
 *
 * @author create by zealot.zt
 */
public interface CreateCommissionBusinessExt extends BusinessExt {

    String CODE = "CreateCommissionBusinessExt";

    /**
     * 能否创建代办
     *
     * @param context
     * @return
     */
    @BusinessExtPoints(parent = CODE, code = "canCreate", name = "获取唯一标识")
    VerifyDTO canCreate(CommissionContext<CommissionEntryRequest> context);

    /**
     * 获取唯一标识
     *
     * @param request
     * @return
     */
    @BusinessExtPoints(parent = CODE, code = "getUniqueKey", name = "获取唯一标识")
    String getUniqueKey(CreateCommissionRequest request);

}
